iT邦幫忙

2025 iThome 鐵人賽

DAY 15
0
自我挑戰組

THM30天挑戰:從菜鳥到小駭客系列 第 15

Day 15. Networking 5

  • 分享至 

  • xImage
  •  

昨天時間趕,想著先發一個大綱然後再改
沒想到鐵人的文章沒辦法跨天更新😅
所以我今天來補昨天的筆記了

今天來介紹Nwtworking系列的第四間房間

room 4.Networking Secure Protocols

介紹

網路協定很多,但隨著安全需求增加,出現了對應的加密版本(HTTPS、SMTPS、IMAPS…)
基本觀念:

  • 明文傳輸 -> 容易被攔截
  • 加密傳輸 -> 提高安全性

TLS(Transport Layer Security)

  • 功能:在應用層和傳輸層之間提供加密,確保資料傳輸的機密性、完整性、身份驗證
  • 用途:HTTPS、加密郵件協定(SMTPS、IMAPS)、VPN 等
  • 運作層級:位於 OSI 傳輸層(4 Layer)
  • 提供保障
    • 機密性:第三方無法讀取內容
    • 完整性:內容不會被竄改
    • 身份驗證:伺服器(或用戶端)可驗證身分

幾乎所有重要服務都強制加密,避免明文外洩;網路銀行、線上購物、Email 若是沒有 TLS 幾乎不可能安全運行

TLS/SSL憑證

TLS憑證(又稱SSL憑證或數位憑證)是一個安裝在伺服器上的檔案,用於在網頁瀏覽器與網站伺服器之間建立安全的加密連線

功能:

  • 伺服器身份驗證:憑證由受信任的憑證授權單位(CA)頒發,包含網域擁有者的資訊和伺服器的公開金鑰,用於驗證網站伺服器的身份,確保使用者連接的是真實的網站
  • 資料加密:憑證啟用TLS協定,對瀏覽器與伺服器之間的資料進行加密傳輸,防止第三方截取或篡改敏感資訊
  • 資料完整性保護:確保傳輸的資料在傳送過程中不會丟失或遭到修改

簽發流程:

  1. 伺服器建立 CSR(憑證簽署請求),內含公鑰與域名資訊
  2. 將 CSR 送至 **CA(憑證授權單位)**進行驗證與簽署
  3. CA 簽發憑證 -> 伺服器安裝此憑證
  4. 用戶端(瀏覽器)驗證:透過內建的「可信任 CA 清單」判斷此憑證是否可靠

就像是日常生活中用的官方印章,印章代表憑證,文件代表網站,信任來自於簽發單位(CA)的公信力

HTTPS(HTTP Secure)

HTTP

  • 依賴 TCP
  • 預設連接埠:80
  • 所有流量為明文傳輸容易被攔截與監控
  • Wireshark 可直接讀取請求與回應內容
    流程(DNS 解析之後):
    • 建立 TCP 三次握手
    • 使用 HTTP 通訊(例如:GET / HTTP/1.1)
    • 結束連線(TCP 四次揮手)

HTTPS

  • 功能:在 HTTP 基礎上加上 TLS/SSL 加密
  • 埠號:TCP 443
  • 特點:保護瀏覽器和網站間的資料交換不被竊聽或竄改
  • 應用:所有現代網站(登入、付款、個資)
  • 功能:HTTPS 結合 HTTP 與 TLS
  • 提供:
    • 加密:保護資料機密性
    • 驗證:確認伺服器身份
    • 完整性:確保資料在傳輸過程中未被篡改
  • 攔截:攻擊者(例如中間人攻擊)只能看到加密的封包,無法直接查看內容
    流程(DNS 解析後):
  1. TCP 三次握手:建立可靠的 TCP 連線(三次握手:SYN、SYN-ACK、ACK)。
  2. TLS 會話建立:
    • 客戶端與伺服器協商 TLS 版本和加密套件
    • 伺服器提供證書進行身份驗證
    • 進行金鑰交換(例如 Diffie-Hellman 或 RSA),建立共享會話金鑰
    • 建立安全的加密通道
  3. HTTP 傳輸:HTTP 請求與回應通過加密的 TLS 通道傳輸

TLS/SSL 可以在不修改 TCP / IP 協定、不改 HTTP 協定本身的情況下,直接提供加密
總結:HTTP 跑在 TCP 上,HTTPS 只是讓 HTTP 多了一層 TLS 加密

SMTPS、POP3S 和 IMAPS

  • SMTP Secure (SMTPS):加密的郵件發送,常用 TCP 465 或 587
  • POP3S:加密的郵件下載,TCP 995
  • IMAPS:加密的郵件同步,TCP 993

這些就是「傳統郵件協定」+「TLS」

SSH(Secure Shell)

**SSH(Secure Shell)**是一種安全遠端連線協議,OpenSSH 是其最廣泛使用的開源實現

  • 目的:替代明文的 Telnet,提供安全的遠端登入與遠端指令執行
  • 功能:安全的遠端登入與操作,比 Telnet 更安全
  • 埠號:TCP 22(Telnet 為 23)
  • 特點:加密傳輸,支援金鑰登入,常用於伺服器管理

OpenSSH優勢:

  1. 安全認證
    • 多種認證方式:密碼認證、公鑰認證、雙重認證(2FA)
    • 公鑰登入可免密碼且更安全(私鑰保管好就能避免密碼竊取)
  2. 機密性
    • 端對端加密,防止中途竊聽(sniffing)即使在不安全的網路(如公共 Wi-Fi)上,資料也能安全傳輸
  3. 完整性
    • 加密同時確保封包未被竄改,即使攻擊者攔截封包,也無法修改內容而不被檢測到
  4. 主機金鑰警示
    • 當伺服器金鑰變更時會提示,減少中間人攻擊風險(但也可能出現誤警示,需判斷)
  5. 隧道(tunneling)
    • 可將其他協定流量透過 SSH 隧道轉發(local/remote/ dynamic port forwarding),實現類似 VPN 的用途或安全代理
  6. X11 轉發
    • 允許在遠端啟動圖形程式並在本機顯示(例如 ssh -X remote)

SFTP 和 FTPS

  • SFTP(SSH File Transfer Protocol):基於 SSH 的安全檔案傳輸
  • FTPS(FTP Secure):在 FTP 上加入 TLS/SSL 加密

差異:SFTP 完全走 SSH
FTPS 則是「FTP + TLS」

VPN(Virtual Private Network)

  • 功能:在公共網路上建立安全「加密通道」
  • 常見協定:IPsec、OpenVPN、WireGuard
  • 應用:遠端辦公、翻牆、保護隱私、防止流量被竊聽

今天算是偷個懶,明天看有沒有辦法做多一點吧😶


上一篇
Day 14 . Networking 5
下一篇
Day 16. Networking 6
系列文
THM30天挑戰:從菜鳥到小駭客17
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言